package Day08.demo3;

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("123456789012345678"); // 18位，全数字
        set.add("13050319901001699X"); // 符合身份证格式
        set.add("12345678901234567X"); // 17位，最后一位X
        set.add("012345678901234567"); // 以0开头
        set.add("130503199010016990"); // 最后一位非X或数字

        // 删除不符合身份证号码要求的数据
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            String id = iterator.next();
            if (!id.matches("^(?!\\d{17}[\\dxX]$)[1-9]\\d{16}[\\dxX]$")) {
                iterator.remove();
            }
        }

        // 输出符合条件的数据
        Iterator<String> iterator2 = set.iterator();
        while (iterator2.hasNext()) {
            System.out.println(iterator2.next());
        }
    }
}